package com.nlp.visualization.service.weibo;

import com.nlp.visualization.core.seg.SegmentType;
import com.nlp.visualization.core.seg.filter.SegFilter;

import java.io.File;

public interface IWeiboSegService {
    /**
     * 将csv的数据统一为json进行处理
     *
     * @param csvFilePath
     * @param jsonFilePath
     * @param header
     */
    public void csv2Json(String csvFilePath, String jsonFilePath, String[] header);


    /**
     * 将原始的微博数据先进行预处理
     *
     * @param jsonilePath
     * @param jsonFilePath
     */
    void jsonPreProcess(String jsonilePath, String jsonFilePath);

    /**
     * 将微博的json数据全部分词后，以text形式保存
     */
    public void seg2PlainText(File in, File out, SegmentType segmentType, SegFilter filter);


    /**
     * 将微博的json数据全部分词后，以text形式保存
     */
    public void seg2PlainText(File in, File out, SegmentType segmentType);

    /**
     * 将微博的json数据全部分词后，以Json形式保存,带过滤器的
     *
     * @param weiboJsonFilePath 微博json文件的路径
     */
    public void seg2Json(String weiboJsonFilePath, String outputFilePath, SegmentType segmentType, SegFilter filter);


    /**
     * 将微博json数据全部分词后，以xml文件的形式存储
     *
     * @param weiboJsonPath
     */
    public void seg2XMLText(String weiboJsonPath);

    /**
     * 带过滤器的SQL格式输出
     *
     * @param weiboJsonFilePath
     * @param outputFilePath
     * @param segmentType
     * @param filter
     */
    void seg2SQL(String weiboJsonFilePath, String outputFilePath, SegmentType segmentType, SegFilter filter);


    /**
     * 默认不过滤的SQL输出
     *
     * @param weiboJsonFilePath
     * @param outputFilePath
     * @param segmentType
     */
    void seg2SQL(String weiboJsonFilePath, String outputFilePath, SegmentType segmentType);


}
